1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
class tool: baseList = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' def changeBase(self,n,b): x,y = divmod(n,b) if x>0: return self.changeBase(x,b) + self.baseList[y] else: return self.baseList[y] def changeToTenBase(self,s,b): sL = list(s) sL.reverse() result = 0 for x in xrange(len(sL)): result = result + self.baseList.index(sL[x])*(b**x) return result def is_polydivisible(self,s, b): for x in xrange(len(s)): if self.changeToTenBase(s[:x+1],b)%(x+1) != 0: return False return True def get_polydivisible(self,n, b): count = 0 result = 0 while count < n: baseResult = self.changeBase(result,b) if self.is_polydivisible(baseResult,b): count = count + 1 result = result + 1 return baseResult # print changeBase(3783,62) a = tool() b = a.changeBase(2018030936,62) print(b) |
print changeBase(3783,62)
print changeBase(3969,62)
print changeBase(15,2)
print changeBase(15,7)
print changeBase(6,8)
print changeBase(32,30)
————————————————
版权声明:本文为CSDN博主「yzj99848873」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yzj99848873/article/details/50827885
「三年博客,如果觉得我的文章对您有用,请帮助本站成长」
共有 0 - Python 10进制与任意进制之间相互转换(最大为62进制)